#pragma once
#ifndef UI_SetUI_H
#define UI_SetUI_H

// 头文件引用
// 官方库
#include <string>
#include <chrono>
#include <thread>


int GetRefreshRateAPI(); // 模块 - 获取屏幕刷新率
float GetScreenScalingRatio(); // 模块 - 屏幕缩放率 - 返回主显示器缩放比例


// 高精度计时器类
class Timer {
private:
    std::chrono::time_point<std::chrono::steady_clock> start_time;

public:
    void start() {
        start_time = std::chrono::steady_clock::now();
    }

    // 返回毫秒数
    uint64_t elapsed() const {
        auto now = std::chrono::steady_clock::now();
        return std::chrono::duration_cast<std::chrono::milliseconds>(now - start_time).count();
    }

    // 返回微秒数，提供更高精度
    uint64_t elapsed_us() const {
        auto now = std::chrono::steady_clock::now();
        return std::chrono::duration_cast<std::chrono::microseconds>(now - start_time).count();
    }
};

#endif // !UI_SetUI_H